package cn.ang.app.mapper;

import cn.ang.app.pojo.AppInfo;
import cn.ang.app.pojo.extend.AppInfoExt;

import java.util.List;

public interface AppInfoMapper {
    /**
     * APP 下架状态
     */
    Integer APP_LOWER_SHELF_STATE=1;

    /**
     * APP 上架状态
     */
    Integer APP_UPPER_SHELF_STATE=2;

    /**
     * 更据APP唯一标识 删除 APP基础信息
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Long id);

    int insert(AppInfo record);

    /**
     * 新增 APP 基础信息
     * @param record
     * @return
     */
    int insertSelective(AppInfo record);

    /**
     * 更据APP 唯一标识查看当前标识信息
     * @param id 标识ID
     * @return 对象信息
     */
    AppInfo selectByPrimaryKey(Long id);

    /**
     * 选择性修改 APP 基础信息
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(AppInfo record);

    int updateByPrimaryKey(AppInfo record);

    /**
     * 条件查询 和分页查询信息
     * @param appInfo
     * @return
     */
    List<AppInfoExt> selectAppInfos(AppInfoExt appInfo, Integer start, Integer pageSize);

    int selectAppInfosCount(AppInfo appInfo);

    /**
     * 查询信息表中 apk 的数量
     *  大于 0 表示存在
     * @param apkName 输入的APKName
     * @return 受影响的行数
     */
    int selectByAPKName(String apkName);


}